{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 分布式训练\n",
    "\n",
    "![alt text](../../images/分布式.png)\n",
    "\n",
    "## 不用分布式的三个技术瓶颈\n",
    "\n",
    "计算墙\n",
    "显存墙\n",
    "通信墙\n",
    "\n",
    "## 分布方式\n",
    "\n",
    "1 同一模型复制后，数据切分分别在模型上进行，名为数据并行\n",
    "\n",
    "2 将模型中的算子分发到多个设备完成，名为模型并行\n",
    "\n",
    "3 二者一起用，名为混合并行\n",
    "\n",
    "## 网络硬件分布\n",
    "pytorch不操作硬件，采用通信库，包括MPI、GLOO、NCCL\n"
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
